草庐IT

C++ 性能 std::array 与 std::vector

全部标签

c++ - 遍历 std::vector 以从 std::string 数组中查找匹配项,更简单的方法?

我循环遍历std::vector和std::string数组以从vector中找到匹配项。例子:#include#include#includeintmain(){std::coutmyVector;myVector.push_back("Word");myVector.push_back("Word2");myVector.push_back("Word4");myVector.push_back("Word6");myVector.push_back("Word7");std::stringmyStringArr[]={"Word","Word1","Word2","Word3",

c++ - 对 vector 中索引为奇数的数字进行排序

我想对具有奇数索引(索引从0开始)的vector中的数字进行排序。例如,如果我输入这个数字;1657320,程序必须返回:1256370。我的代码#include#includeusingnamespacestd;intmain(){inteded,n,_temp;size_ti;cout>>";cin>>n;vectorv_eded;v_eded.reserve(n);//nqederboshyerayiriramvektor-dacout>eded;v_eded.push_back(eded);}for(i=1;iv_eded[i+2]){_temp=v_eded[i+2];v_e

asp.net - Web 服务器上的计划任务 - 性能

我在虚拟服务器上有一个ASP.NETWeb应用程序。我已将一些后台任务(发送电子邮件、数据清理等)从Web应用程序移出并移至计划每5分钟运行一次的单独控制台应用程序。当控制台应用程序运行时,它仍然会降低网站速度。我希望网站响应速度达到最大值,控制台应用程序在后台运行速度是否较慢并不重要。我应该将计划任务的优先级降低到9吗?或者这会产生一些负面后果。控制台应用程序和网站都依赖于SQLServerexpress数据库,当控制台应用程序运行时,它似乎具有高CPU。提前感谢您的建议/反馈 最佳答案 根据您提供的评论,影响的原因似乎在于对共享

c++ - 如何在集合元素中重用 vector ?

所以我正在使用我的程序将我的RasperryPi相机流式传输到我的计算机,但是。下面列出的vector给我带来了问题。在大约30秒的流式传输后,它给了我std::bad_alloc。有没有办法在循环中一遍又一遍地重复使用这个vector(例如调整大小、清除)?这是简化的代码:while(isRunning){recv(Connection,received_message,sizeof(received_message),NULL);//receivingthesizeofimageinbytesfileSize=atoi(received_message);std::vectorfi

c++ - 如何优化 std::map insert() 函数?

解释我正在尝试的最好方法是使用这个示例(使用VisualStudio2008SP1编译):structELEMENT1{//ItsmembersELEMENT1(){//Constructorcode}~ELEMENT1(){//Destructorcode}};std::mapmap;std::pair::iterator,bool>resIns;ELEMENT1element;std::wstringstrKey;for(size_ti=0;i(strKey,element));//ThislinecallsELEMENT1constructor&destructortwice//

c++ - 如何修剪存储在 std::set 中的字符串?

我正在使用VS2012开发MFC应用程序。在此应用程序中,我想清理CString的容器。使用Trim()对象成员函数。首先,我使用了std::vector作为容器,如下图MCVE:#define_AFXDLL//CString#include//CString#includeintmain(){std::vectorv;v.push_back(_T("Test"));v.begin()->Trim();return0;}这会按预期进行编译和工作。然后,我想更换std::vector通过std::set.因此,我包括了#include而不是#include并更改了main()如下:int

windows - CreateFile API 的性能下降

我有一个正在从库中恢复大量数据的应用程序。我们正在使用WindowsServer2003。随着过程的进行,我们看到性能下降。我为我的4个主要任务添加了一些性能计数器,创建文件、从库中读取、写入数据、关闭文件。我们正在恢复数百万个文件。我观察到的是,随着进程的进行,createfileAPI的性能正在下降。其他操作一致。知道是什么原因造成的吗?提前感谢所有的回答/建议。问候,不山 最佳答案 文件系统是NTFS吗?数百万个文件是否都在同一个目录中,它们是否具有相似的名称?来自technetarticleonNTFSinternals:I

c++ - 将 std::cout 重定向到新创建的控制台

这个问题在这里已经有了答案:Redirectingcouttoaconsoleinwindows(11个答案)关闭8年前。当您在Windows下创建C++控制台应用程序时,您会自动获得为您创建的控制台窗口,并将std::cout输出到控制台窗口。我有一个GUI应用程序,我还想为其创建一个控制台窗口。我可以使用AllocConsole()函数创建控制台窗口,但如何将std::cout重定向/附加到控制台,以便输出显示在控制台窗口中?

c++ - 移至 64 位操作系统时共享内存性能降低

我遇到了在64位Windows上运行的32位旧版应用程序的问题。有问题的应用程序使用CreateFileMapping创建共享内存。当它在64位Windows上运行时,任何从另一个进程访问此共享内存的尝试都需要大约1秒。共享内存是使用页面保护标志创建的:flProtect=PAGE_READONLY|SEC_NOCACHE|SEC_COMMIT;当使用以下方法创建相同的内存时:flProtect=PAGE_READONLY|SEC_COMMIT;问题消失了。目前这种解决方法是可以接受的,但我们确实有一些设备需要设置SEC_NOCACHE标志。谁能告诉我为什么在这种情况下SEC_NOCA

c++ - Windows 多任务破坏了 OpenCL 性能

我正在用简单的想法编写Qt应用程序:有几个支持OpenCL的设备,每个设备都有自己的控制线程,用于准备数据、执行OpenCL内核和处理结果。OpenCL代码实际上是比特币挖掘内核(现在是thisone,但没关系)。使用2个GPU时一切正常。当我使用GPU和CPU时出现问题。CPU以合理的速度工作,但GPU的性能下降到零。Linux下没有这个问题。在Windows下,poclbm的行为方式相同:当启动多个实例时(1个用于GPU,1个用于CPU),GPU性能为0。我不确定我应该发布代码的哪一部分,所以它会很有帮助。我只能提一下,该线程是QThread的子级,带有run()并用繁忙的循环wh